Dosyanın SdCardda Olup Olmadığını Kontrol Etme
15.03.2016 - 12:28
Es Selamu Aleykum Arkadaşlar;
Yaptığım Uygulamada Ses Dosyalarını İnternet Üzerinden Sd Card'a İndirip Media Player İle Oynatma İşlemi Yaptım. Buraya Kadar Hersey Güzel Dosyaları İndirip Oynatabiliyorum da Hiç bir Sıkıntı Yok. Ama Tek Sıkıntı İndirilmemiş Dosyaların Olduğu Activitye Girmeye Çalıştığımda "Malesef Uygulama Durdu." Hatasını Alıyorum. Hadi Onuda Anladım Dosya İndirilmedi Diye Durduruldu. Sormak İstediğim Activitiye Girmeden Önce o dosyanın indirilip indirilmediğini (((sdcard/Android/data/com.uyg.deneme/Deneme.bin))) kontrol ettirip indirilmediyse eğer de bunu kullanıcıya Alet Dialogg Yardımı ile belirtmek istiyorum. Yardımcı Olursanız Çok Makbule Geçer..
import android.app.Activity;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.SeekBar;
import java.io.IOException;
public class Deneme extends Activity implements Runnable {
Button playbutton, pausebutton;
MediaPlayer mediaPlayer;
String media_path = "sdcard/Android/data/com.uyg.deneme/Deneme.bin";
SeekBar seekBar;
Thread soundThread;
@Override
public void onBackPressed() {
mediaPlayer.stop();
super.onBackPressed(); }
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.deneme);
playbutton = (Button) findViewById(R.id.playbutton);
pausebutton = (Button) findViewById(R.id.pausebutton);
seekBar = (SeekBar) findViewById(R.id.seekBar);
mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
mediaPlayer.setDataSource(media_path);
} catch (IOException e) {
e.printStackTrace();
}
try {
mediaPlayer.prepare();
} catch (IOException e) {
e.printStackTrace();
}
setupListener();
soundThread = new Thread((Runnable) this);
soundThread.start();
}
private void setupListener() {
playbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mediaPlayer.start();
playbutton.setEnabled(false);
pausebutton.setEnabled(true);}
});
pausebutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mediaPlayer.pause();
pausebutton.setEnabled(false);
playbutton.setEnabled(true);}
});
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (fromUser){
mediaPlayer.seekTo(progress);}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
}
@Override
public void run() {
int currentPosition = 0;
int soundTotal = mediaPlayer.getDuration();
seekBar.setMax(soundTotal);
while (mediaPlayer != null && currentPosition <soundTotal){
try {
Thread.sleep(300);
currentPosition = mediaPlayer.getCurrentPosition();
} catch (InterruptedException soundException) {
return;}
catch (Exception otherException){
return;
}
seekBar.setProgress(currentPosition);
}
}
}
3
Görüntülenme
0 Beğeni